using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class LoadBullet : MonoBehaviour
{
    // 发射间隔时间（秒）
    public float fireRate = 0.01f;
    
    // 最大发射子弹数量
    public int maxBullets = 1000;
    
    // 当前发射的子弹数量
    private int bulletCount = 0;
    
    // 是否正在发射
    private bool isFiring = false;
    
    // 上一次发射的时间
    private float lastFireTime = 0;

    void Update()
    {
        // 检测鼠标左键按下
        if (PlayerInput.Instance.GetIsUseTool)
        {
            isFiring = true;
        }
        
        if (isFiring )
        {
            // 检查发射间隔时间
            if (Time.time - lastFireTime >= fireRate)
            {
                FireBullet();
                lastFireTime = Time.time;
            }
        }
    }

    void FireBullet()
    {
        // 从对象池中获取子弹
        GameObject bullet = GameObject.Instantiate(Resources.Load<GameObject>("Prefabs/Bullet"));
        
        if (bullet != null)
        {
            // 设置子弹的初始位置和方向（根据你的需求调整）
            bullet.transform.position = transform.position;
            bullet.transform.rotation = transform.rotation;
            
            // 增加子弹计数
            bulletCount++;
            print("已经发射子弹" + bulletCount);
            
            // 如果达到最大子弹数量，停止发射
            if (bulletCount >= maxBullets)
            {
                Debug.Log("已发射 " + maxBullets + " 发子弹，停止发射！");
                isFiring = false;
            }
        }
        else
        {
            Debug.LogError("无法获取子弹！");
        }
    }
}
